home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
A.C.E. 2
/
ACE CD 2.iso
/
FILES
/
DOCS
/
AMOSDOC.LHA
/
AmosErrors.doc
< prev
next >
Wrap
Text File
|
1994-11-27
|
25KB
|
675 lines
AMOS THE CREATOR - ERRORS.
Typed in by PROTOCOL of SCOOPEX . Edited by PARASITE.
NOTE THAT THIS WASN'T IN THE PREVIOUS DOCUMENTATION.
EDITOR ERRORS
The following are occasionally printed out on the information
line when you are editing the programs.
Bottom of text:
The cursor has reached the last line in your current program.
Cant fit the program into editor buffer:
This will occur when ,the space required for a program to be
loaded is greater than the area available in the editor buffer.
Responding yes to the resulting query from AMOS will set the text
buffer to the exact size of the program to be loaded.
You won`t be able to expand the program,only reduce it in size
. S.BUFFER in the search menu can be called to expand the text
buffer if neccesary
Selecting NO will simply abort the load and the minimum required
buffer space will be displayed in the information line
Line too long:
The AMOS editor can only handle lines up to a maximum of 255
characters long
No errors:no errors were detected in your program during test
process.
Not found:the previous search command was unsuccessful.
Not marked:you cant move to a mark because you havent set
any markers.
Not a proceedure:FOLD/UNFOLD only works if you have
positioned the text cursor over a proceedure.
Out of buffer space:You have run out of space in the
editor area.Save your program onto a disk and increase
the buffer using S.BUFFER (in the SEARCH menu)
If you still have problems you may need to split
your program into several parts and execute them one
after another using the RUN command from AMOS basic
Out of memory: There is no more memory available to hold
your programs.Try using CLOSE WORKBENCH to restore the 40k
used by the Amigas workbench screen.
Syntax error: The syntax (grammar) of the current line
is wrong in some way.Look up the right format in the manual
or on the reference card.
Too many direct mode variables : Thers not enough space
in the variable table to hold your direct mode variables.
Direct mode allows you to create up to 64 new variables but
this could be restricted further if your program is taking up
too much memory.
Top of text:The text cursor has reached the top of your
program. Pressing the up arrow will have no effect.
Variable name buffer too small:AMOS has a buffer which
holds the names for all the variables.If you generate
too many long names this error will be reported back
Changing the default size of the buffer can be achived from
the CONFIG accessory.
What block?:You cannot CUT/PASTE a block before you have
defined it.
PROGRAM ERRORS
Whenevever you run one of your programs,or check it with the
test command from the menu window ,AMOS performs a complete test of all
the various instructions.This allows you to remove most of the errors
straight from the editor withoutthe inconvenience of
executing your program
Here is a full list of these error messages:
Array all ready dimensioned:It is only possible to dimension
the same array once in your basic program.
Array not dimensioned: The element you specified in
the expression does not belong to a previously dimensioned array.
DATA must start at the beginning of a line: Any DATA
statements in your program must be placed at the absolute
start of a line (excluding LABEL definitions)
DO without LOOP:The DO and LOOP statements are used in pairs
Each DO structure must be terminated by a single LOOP command
ELSE without ENDIF:Youve omiited the final ENDIF command
from a structured IF test.
ELSE without IF:The ELSE statement can only be used inside a
structured test.
ENDIF without IF :An ENDIF command has been found in your
program which does not correspond to an appropriate IF
statement.
Extension not loaded: Youve attempted to run a program
which incorporates one of the new commands provided by
an extension file.Check that the relevant extensions
have been installed on your boot disk and that the
extensions are selected for use from the CONFIG accessory.
FOR without matching NEXT: A FOR command is not followed
in the program by the expected NEXT statement.
IF without ENDIF:The instructions inside a structured
IF test should always be terminated by a single ENDIF statement
. Dont confuse these tests with the IF...THEN command-they
are completely different.
Illegal number of parameters:You have attempted to to
enter the wrong number of values into an
instruction or proceedure.
LOOP without DO:A LOOP command has been detected which
does not match a corresponding DO statement.
LABEL defined twice: Each label or proceedure can only be
defined once in your program.
Bad structure: Any nested loops must be placed COMPLETELY
inside each other. Buty its illegal for loops to CROSS
EXAMPLE:
Do
If A=B
Loop
Print A
Endif
THIS IS NOT ALLOWED
NEXT withot FOR:AMOS has encounterd a NEXT instruction
which does not match up with a previous FOR command.
No THEN in a structured test: The IF...THEN command
cannot be placed inside a structured test.
Use IF. ..ENDIF instead.
No jumps allowed in the middle of a loop!:(could cause
havock at Alton Towers..Protocol)You cant jump directly
inside a loop using a GOTO or GOSUB statement,however
once you are within a loop,you can jump out of it.
Not enough loops to exit:The loop counter you specified
in a a EXIT IF command is greater than the number of
active loops.
Out of memory:During the test process this error may
occur if AMOS cannot reserve the required amount of
variable buffer space due to a lack of memory
(see SET BUFFER)
Proceedures limits must be alone on a line: The
PROCEEDURE and END PROC statements must start on their own line.
Proceedure not closed:The END PROC statement is missing
from one of your proceedures.
Proceedure not opened: An ENDPROC statement has been
discoverd with no corresponding PROCEEDURE definition.
REPEAT without matching UNTIL statement.
Shared must be alone on a line: The SHARED command
must be the only statement on the current line.
Syntax error:The syntax (grammar) of the current line
is wrong in some way.Look up the correct format in
the manual.
This array is not defined in the main program:You have
tried to access an array inside a proccedure which has
not been dimensioned in the main program.
This instruction must be used within a proceedure:The
SHARED command can only be used once INSIDE a
proceedure definition.
This variable is already defined as shared: You cannot define
the same variable more than once in a single proceedure.
UNTIL without REPEAT: The UNTIL command does not match
a previous REPEAT command in your program.
Undefined label: AMOS cannot find the label you specified
in the instruction.(Hes gone down the wine cellar to find that
rare vintage for you...Protocol)
Undefined proceedure:The proceedure you have called does
not presently exist in your program.
Use empty brackets when defining a shared array:To
define an array as SHARED,use a command like:
Shared Array()
It is illegal to add the dimensions of the array as well.
Variable buffer cant be changed in the middle of a program!:The
SET BUFFER command must always be the
first line of your program,excluding REMS.
WEND without WHILE: The WEND statement does not match a
previous WHILE command in your program.
WHILE without matching WEND: AMOS cannot find a
corresponding WEND statement to match up with the current WHILE.
RUN TIME ERRORS
The following messages are generated when your AMOS program
encounters an error as it is running, AMOS will then abort
your program and highlight the current instruction.
Once you return to the editor, the cursor wull be
placed immiediately at the offending line.
If you are using error trapping,you may wish to
obtain the error message associated with a particular
number.
Use line like:
Error Errn
Each run time error has its own error number which is listed
below.
A special FOLLOW command can also be used to see how your
variables are changing during the running of your program.
The FOLLOW commands are listed here:
FOLLOW (View the state of one or more variables)
FOLLOW [list of expressions...]
with your program screen. You can move the window up and
down the display using the up and down arrow keys.
Any folded proceedures will not be followed by the
system,allowing you to simply follow the proceedure or
routine that needs inspecting.
FOLLOW OFF
This command clears any previous FOLLOW instructions and
removes the FOLLOW window from the display.
ANIMATION STRING TOO LONG (113):The current AMAL program
is longer than the maximum of 65536 bytes.Try splitting
your program into smaller units.Its quite acceptable to
animate the object using several AMAL channels.
ADDRESS ERROR (25):This will occur when an address is
used in DOKE,DEEK,LOKE,or LEEK command that is an odd value
Array already dimensioed (28):You have attempted to dimension
an array twice in your program.Usually this will be detected
in the syntax check, but if your program is a complex one
it will only be discovered when you actually attempt
to redimension the array.
AUTOTEST ALREADY OPENED (111):An AMAL autotest has been
defined inside another autotest command.This is of course
not allowed.
BAD IFF FORMAT (30):Youve tried to use LOAD IFF to load
a file which has been stored in an unusual format.
Remember that LOAD IFF can only load screens into memory
,NOT general purpose IFF files.
BANK ALREADY RESERVED (35):You have attempted to create a memory
bank which already exists.Note that banks 1 to 4 are normally
used to hold your sprites,icons,music and menu definitions
respectively.
BANK NOT RESERVED (36):This error indicates that the bank you
have selected has not been created using RESERVE.It can also
occur after commands like PASTE ICON or SAMPLAY which
automatically load information from a specific memory bank.
BLOCK NOT FOUND (65):The block you specified in this in
instruction has not been created with GET BLOCK.
BLOCK NOT DEFINED(68):The bob you attempted to manipulate has not
been set up using a previous Bob command.This error can occur
after a mistake in a PASTE BOB instruction.
BORDERED WINDOWS NOT ON EDGE OF A SCREEN (59):You cant position a
bordered window at the edge of the screen.You must leave at
least eight pixels between the window and the screen so as to
provide space for the border.
CAN'T FIT PICTURE IN CURRENT SCREEN (32):You attempted to load a
picture into an existing screen with LOAD IFF,but the two
screens are not of the same type.Tag the number of the
destination screen to the LOAD IFF command like so:
Load Iff "filename",number
Providing the screen you specified in number is in the correct
range (0-7),AMOS will automatically create a screen of the
requuired type during the loading process.
CAN'T RESUME TO A LABEL (4):You cannot resume to a label in an
error proceedure.
CAN'T SET DUAL PLAYFILD (70):You tried to create dual playfield
using the wrong sort of screens.See the section DUAL PLAYFIELD
command for a list of the allowable combinations.
COPPER LIST TOO LONG(77):As a default,your user-defined copper
list is limited to a maximum of 12k.This may be extended using
an option from the CONFIG accessory.
COPPER NOT DISABLED (76):You've attempted to use the COP MOVE or
COP SWAP commands without first disabling the normal copper list
with COPPER OFF.
DEVICE NOT AVAILABLE (86):The disc or device you specified in the
instruction is not connected to the Amiga.This error is often
caused by an unexpected disk change. The solution is to set the
directory to the actual drive name using a line like:
Dir$="Df0:"
If this occurs when using the file selector,click on one of the
drive buttons such as "Df0:" and change the directory using the
setdir button.
DIRECTORY NOT EMPTY (85):Its only possible to erase empty
directories with KILL.
DIRECTORY NOT FOUND (80):The required directory cannot be found
on the current disk.Perhaps you have inserted the wrong
disk?(You thick twat !)
DISK FULL (88): There is no more space on the current disk to
hold your data.
DISK IS NOT VALIDATED (83):
Whenever you insert a disk the Amiga automatically checks for its
validity.If an error occurs within this process you will get
this message.Due to the complexities of the Amiga the validation
errors are occasionally generated by mistake. If the problem
persists you may need to use the DISK DOCTOR
program from the standard workbench disk. This error can occur
if you kick the plug out of the wall and invalidate the hard
disk!.
DISK IS WRITE PROTECTED (84):AMOS cannot save out information if
the disk is physically protected so slide the write protect tab
or use another disk .
DIVISION BY ZERO (20):You have attempted to divide a number by
zero.
This is not allowed in any Basic.
END OF FILE (100):The end of the current file has been
unexpectedlly reached during a disk access.Use the EOF function
to test for this condition inside your program.
END OF PROGRAM (10):This message is printed after after AMOS
executes the last instruction in your program.
ERROR NOT RESUMED (3):You exited from an error handling routine
without resetting the error using RESUME.
ERROR PROCEEDURE MUST RESUME TO END (8):You cannot exit from an
error handling proceedure with END PROC.you must use one of the
special RESUME commands instead.
OUT OF STACK SPACE (0): This error is generated when you try to
nest too many proceedure calls inside each other. AMOS
proceedures can call themselves (recursion),but you'll get an
error after about 50 loops.
FILE ALREADY EXISTS (79): It is not possible to RENAME a file to
an existing or directory on a disk.
FILE ALREADY OPENED (96) : An attempt to access a file with OPEN
or APPEND has been aborted because its already open.
struction instead.
FILE IS PROTECTED AGAINST DELETION (89):The Amigas disk system
lets you protect individual files from deletion using the
PROTECT command from CLI.You have probably attempted to erase
an important system file with delete.
FILE IS PROTECTED AGAINST READING (91): The requested file has
been protected against reading. See the Amiga users guide which
came with your computer for full details of the PROTECT command
which is available from CLI.
FILE IS WRITE PROTECTED (90):You can't alter the selected file
because its been intentinally locked with the PROTECT command
from CLI
FILE NOT FOUND (81): You tried to access a file or directory
which does not exist in the current directory.
FILE NOT OPENED (97): Your program has attempted to transfer data
to or from a file which has not been previously opened using
OPEN IN,OPEN OUT,APPEND and so on
FILE TYPE MISMATCH (98): A disk command has been used which is
not allowed on the current file.This error would occur if you
were to use the GET and PUT commands to access a sequential
file.
FLASH DECLARATION ERROR (52): You have made a mistake in the
animation string used to define a colour sequence with FLASH.
FONTS NOT EXAMINED (37):Before using the SET FONT command,you
must first create a list of the available fonts using either GET
FONTS,GET DISK FONTS,or GET ROM FONTS.
I/O ERROR (94): One of your files may be corrupted and cannot be
accessed correctly.If the problem persists you may need to use
DISK DOCTOR from CLI (Diskdoctor is on your workbench disk )
IFF COMPRESSION NOT RECOGNISED (31): The screen you wish to load
from the disk uses an unfamiliar compression system. If possible
return to the graphics package you used to produce this screen
and save it as standard IFF format.
ICON NOT DEFINED (74):The icon you specified in your instruction
cannot be found in the current icon bank (bank 2)
ILLEGAL BLOCK PARAMETERS (66): There's been a mistake in either a
GET BLOCK or PUT BLOCK command.The values you have entered are
not allowed.
ILLEGAL COPPER PARAMETER (78): The values you have entered in a
COP MOVE,COP MOVEL or COP SWAP instruction lies outside the
permitted range.
ILLEGAL FILE NAME (82): You have attempted to use a filename
which does not comply with the standard naming conventions.Refer
to your Amigas user guide.
ILLEGAL FUNCTION CALL (23): This error is produced if you make a
mistake when entering values into an AMOS command. Check the
relevant section of the user manual for a full list of the
allowable parameters
ILLEGAL INSTRUCTION DURING AUTOTEST (115): You have used an AMAL
command such as Move or Anim inside an AUTOTEST.Check the case
of your AMAL labels. You may have defined an AUTOTEST by
mistake.
ILLEGAL NUMBER OF COLOURS (49):The Amigas hardware only supports
certain combinations of colours on screen at once.See the
chapter on SCREENS for a full list of available option.You have
probably made a typing error in the SCREEN OPEN command.
ILLEGAL SCREEN PARAMETER (48): The dimensions you specified with
SCREEN OPEN are unacceptable. The minimum screen size is just
32x8 and the maximum depends entirely upon the amount of
available chip memory.
ILLEGAL WINDOW PARAMETER (60): You've entered an incorrect value
in one of various window commands.
INPUT TOO LONG (99):An input string is too long for a previously
dimensioned variable.Or you may have tried to INPUT# a line of
more than 1000 characters.
INSTRUCTION ONLY VALID IN AUTOTEST (112):The direct or eXit
commands can only be used inside an AMAL AUTOTEST.
JUMP TO/WITHIN AUTOTEST IN ANIMATIN STRING (110): It's illegal to
jump directly inside an AUTOTEST from your main AMAL program
,use the eXit or direct commands instead.
LABEL ALREADY DEFINED IN AN ANIMATION STRING (109): AMOS has
encountered two versions of the same label definition in your
AMAL program.Remember all labels consist of just a single UPPER
case letter.
LABEL NOT DEFINED (40):The label included in your instruction has
not been defined in your program.
Check for mistakes in computed GOTOs,GOSUBs or RESTORE
statements.
LABEL NOT DEFINED IN ANIMATION STRING (114): This error is
generated when you attempt to jump to a non existent label in an
AMAL animation string.
MENU ITEM NOT DEFINED (39):The item you have specified in your
menu command has not been defined previously using MENU$.
MENU NOT OPENED (38):The MENU ON command has been called but
there is no menu.You will need first to define your menu using
the MENU$ instruction or MAKE MENU BANK.
NEXT WITHOUT FOR IN ANIMATION STRING (108): This indicates a
mistake in one of AMAL animation strings. Each next command
needs to be associated with a single FOR statement.Check the
case of any comments in your AMAL program.
NO ON ERROR PROC BEFORE THIS INSTRUCTION (5):RESUME LABEL is
only allowed after an ON ERROR PROC command.
NO DATA AFTER THIS LABEL (41): RESTORE has tried to move the
data pointer which does not include any DATA statements.
NO DISK IN DRIVE (93): You've tried to access a drive which does
not appear to contain a disc.If you have just inserted
a disk,wait a couple of momennts and try again.
NO PROGRAMS BELOW CURRENT PROGRAM (43): If the program running is
not installed as an accessory and you try to BGRAB a bank you'll
receive this error.
NO ZONE DEFINED (73): Before using SET ZONE,you must first
allocate some memory with RESERVE ZONE.
NON DIMENSIONED ARRAY (27): Your program has tried to refer to
an array which has not previously been defined.
NOT AN AMIGADOS DISK (92): Unless your using a program like
Crossdos, AMOS can only read disks that were created on the
Amiga.So PC and ST(YUK!) disks would create such an error.
OUT OF DATA (33): The READ command has read past the last DATA
item in your program. You have probably missed out some
information when you were entering one of your data lines.Also
check for any RESTORE commands for typing errors.
OUT OF MEMORY (24): This is a standard error message which is
generated when you attempt to exceed the available storage
space.DON'T PANIC !
There are three different ways of conserving memory
1> CLOSE WORKBENCH turns off the Amigas workbench system to
free 40k.
2> CLOSE EDITOR deactivates the editor window when its not
being used...saves 24k!
3>If the information line reports there is plenty of
spare memory,then save your program and reboot.This will
correct a memory fragmentation problem caused by the
Amigas operating system.
OUT OF VARIABLE SPACE (11): As a default,AMOS only allocates
8k of storage space for your strings and arrays.Use
SET BUFFER command at the start of your programto increase
this as required.
OVERFLOW (29): The result of a calculation has exceeeded
the maximum size of the variable
POP WITHOUT GOSUB (2): POP can only be executed within a
subroutine which was previously entered with GOSUB.Use POP PROC
to exit from a proceedure.
PROGRAM INTERRUPTED (9):This is not an error:you've
probably simply pressesd the cntrl-C keys or used a
stop instruction to exit directly from your program.
PROGRAM NOT FOUND (42):The program named in the PRUN command
has not been previously loaded into the Amiga's memory.Use
LOAD OTHER from the menu window.
RETURN WITHOUT GOSUB (1):RETURN can only be used once to
exit from a subroutine which was originally entered using GOSUB.
RAINBOW NOT DEFINED (75):Before calling the RAINBOW command in
one of your programs,you must first define your rainbor effect
with SET RAINBOW.
RESUME LABEL NOT DEFINED (6): The label you specified in the
RESUME command does not exist.
RESUME WITHOUT ERROR (7): The RESUME command cannot be
executed unless an error has occurred inyour program
.Its best used to exit back to AMOS BASIC after an error.
SCREEN ALREADY IN DOUBLE BUFFERING (69): You've attempted to
call DOUBLE BUFFER twice on the same screen.
SCREEN NOT IN DUAL PLAYFIELD MODE (71): DUAL PRIORITY can
only be used after you've created a dual playfield.
SCREEN NOT OPENED (47): The screen you have attempted to
access has not previously been openedusing the screen command.
SCREENS CAN'T BE ANIMated (67):AMAL can only move or
scroll screens.It is not possible to anmate them using the
built in ANIM command.
SCROLLING ZONE NOT DEFINED(72):Before using the SCROLL
comand, you need to define the direction and size of
your scrolling area with SET SCROLL.
SHIFT DECLARATION ERROR (53):You've made a mistake in the
colour sequence used in the SHIFT UP or SHIFT DOWN instructions.
SPRITE ERROR (105): The values you've entered in into a
sprite command do not fall within the requuired limits.
STRING TOO LONG (21): Astring has exceeded the maximum of
65000 characters which is allowed under AMOS basic.
SYNTAX ERROR IN ANIMATION STRING (107):Theres been a mistake
in the animation sequence you specified using the
Anim command.Check for typing errors.Its all too easy to
accidently enter a full stop"." instead of a comma","
by mistake
THIS WINDOW HAS NO BORDER (63):You have used the BORDER COMMAND
on a window which has no border.
TOO MANY COLOURS IN FLASH (51):You've exceeded the maximum of 16
colour changes in a single FLASH command.
TYPE MISMATCH (34): An illegal value has been assigned to a
variable.For example:
A$=12 Should read A$="12"
VALID SCREEN NUMBERS RANGE FROM 0 TO 7 (50):AMOS only allows
you to open a maximum of 8 screens at any one time.
WINDOW ALREADY OPENED (55): An attempt to open a window has
failed because it was already open.
WINDOW NOT OPENED (54): You have attempted to open a window
that does not exist.
WINDOW TOO LARGE (57): The requested window cannot be
opened because it is too big to fit in the current screen.
WINDOW TOO SMALL (56):The requested window is too small
.The minimum window size is 3x3
EXTENSION ERRORS:
The commands which come in AMOS extension files do not
generate error numbers,but youll need to know what
they mean.Here are the MUSIC extension errors:
256 characters to the wave:Waves can only be created by a
list of 256 bytes.
Can't open narrator:AMOS cannot find the required library
files from the system disk to load up the narrator program.
Music bank not found:The music cannot be played because
there isn't a tune in memory.
Music bank not defined: There is no music bank in memory.
Sample bank not found: There is no sample bank in memory.
Sample not defined: You have tried to play a sample which
does not exist in the current sample bank.
Wave 0 and 1 are reserved: These two waves are reserved by
AMOS for the BELL and NOISE commands and thus cannot be
altered by you.
There are two errors that can be created by the compaction extension:
NOT A PACKED BITMAP:You've attempted to unpack a databank
which isnt in bitmap format.
NOT A PACKED SCREEN: The data your trying to unpack is not
in packed screen format.
IMPORTANT NOTE
A Number of examples listed in the manual refer to certain
data files.
Due to lack of disk space some of the files had to be compacted and
thus cannot be loaded in the way required in the examples.You should
therefore replace the filenames for the new ones listed below.
PAGE OLD FILENAME NEW FILENAME
160 Sprites.abk Octupus.abk
134,178,198 Frog_Leap.IFF AMOSPIC.IFF
198 Magic_Screen.IFF AMOSPIC.IFF
236 Sample_demo.abk Samples.abk
237 Sampledemo.abk Samples.abk
238 Sample.abk Samples.abk
245 Sample1.abk Samples.abk